package com.yys.apm.collect;

import com.yys.apm.boot.AgentBootLoader;

/**
 * 应用性能采集接口
 *
 * @author Yingsheng Ye
 * @date 2021-03-19 17:01
 */
public interface ApmCollect {

    /**
     * 是否是应用性能采集目标
     *
     * @param agentLoader 代理类
     * @return boolean
     */
    boolean isApmTarget(AgentBootLoader agentLoader);

    /**
     * 对目标类进行转换
     *
     * @param agentLoader 代理类
     * @return byte[]
     * @throws Exception 异常
     */
    byte[] transform(AgentBootLoader agentLoader) throws Exception;

}
